Content feed user interface with gallery display of same-type items

ABSTRACT

Additional content items that satisfy predefined criteria with respect to a user-selected content item are identified. The predefined criteria may be that the selected and additional content items have particular characteristics that are the same. Information corresponding to the selected and identified content items is presented to a user. Characteristics based on which additional content items may be identified may include data type, source, and absence of content. The information may be presented in a gallery view, which can be a thumbnails gallery for images or a playlist for digital audio or video.

RELATED APPLICATIONS

U.S. patent application Ser. No. 11/246,657, titled “PersonalizedContent Feed Suggestions Page,” filed Oct. 7, 2005;

U.S. patent application Ser. No. 11/246,656, titled “IndirectSubscriptions to Top N Lists of Content Feeds,” filed Oct. 7, 2005; and

U.S. patent application Ser. No. 11/246,597, titled “IndirectSubscriptions to a User's Selected Content Feed Items,” filed Oct. 7,2005.

TECHNICAL FIELD

The disclosed embodiments relate generally to content syndication, andmore particularly, to a content feed user interface with a gallerydisplay of content feed items of the same type.

BACKGROUND

Content syndication is growing in popularity as a way to distributefrequently updated information, such as news and blog postings, on theInternet. Using content syndication formats such as Really SimpleSyndication (RSS), content providers can include content and/or links tosuch in a content feed. Users may subscribe to these content feeds usingan application known as a reader or aggregator. When the content feed isupdated with new content items, the new content items are reflected inthe user's reader.

A user may subscribe to many content feeds, with each feed listing manycontent items. A user may be interested in content of particular types,such as images or videos, or content from particular sources and/orcategories. Looking through the many listed content items to find theones of the desired type can be a time-consuming and cumbersome task forthe user.

Accordingly, there is a need for a more efficient manner of presentingcontent items to the user.

SUMMARY

In accordance with some embodiments, a method of presenting contentincludes presenting identifying information associated with a number ofcontent items; upon user selection of one of the content items,identifying one or more additional content items that satisfy predefinedcriteria with respect to the selected content item; and presentinginformation corresponding to the selected and additional content items.

In some embodiments, the content items include RSS feed content items

In some embodiments, the aforementioned operations may be performed by asystem having one or more processors, memory, and one or more modules,stored in the memory and configured for execution by the processors,with instructions to perform the aforementioned operations.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a content feed aggregation systemin accordance with some embodiments.

FIG. 2 is a diagram illustrating a data structure of a content item andits corresponding metadata in accordance with some embodiments.

FIG. 3 is a flow diagram illustrating a process for displaying a galleryof content items in accordance with some embodiments.

FIG. 4 is a block diagram illustrating a client computer in accordancewith some embodiments.

FIG. 5 is a block diagram illustrating a server computer in accordancewith some embodiments.

FIG. 6 is a diagram illustrating a feed reader user interface with auniversal view in accordance with some embodiments.

FIG. 7 is a diagram illustrating a feed reader user interface with athumbnails gallery in accordance with some embodiments.

FIG. 8 is a diagram illustrating a feed reader user interface with aplaylist gallery in accordance with some embodiments.

FIG. 9 is a diagram illustrating a feed reader user interface with aheadlines gallery in accordance with some embodiments.

FIG. 10 is a diagram illustrating a feed reader user interface with asame source gallery in accordance with some embodiments.

Like reference numerals refer to corresponding parts throughout thedrawings.

DESCRIPTION OF EMBODIMENTS

In a content feed aggregation system, a user may subscribe to one ormore content feeds and be presented with the content items included inthose content feeds. However, the user may be interested in particulartypes of content items. The disclosed embodiments provide the user a wayto look for those particular types of content items. When a user selectsa content item, the user is presented with a “gallery” of the selectedcontent item and other content items that satisfy predefined criteriawith respect to the selected item. The “gallery” provides the user amore efficient manner of presenting to the user content items ofparticular types.

FIG. 1 is a block diagram illustrating a content feed aggregation systemin accordance with some embodiments. The content feed aggregation system100 includes a server system 104. The server system 104 is coupled toone or more client systems 102 and to one or more hosts 120 (or “feedsources”) by a network 106. The network 106 may be any suitable wiredand/or wireless network and may include a local area network (LAN), widearea network (WAN), the Internet, and so forth.

The server system 104 accesses content feeds from the feed sources 120.The server system 104 includes a server 108 and a database 110. Server108 serves as a front-end for the server system 104. Server 108retrieves the content feeds from the feed sources 120. The server 108provides an interface between the server system 104 and the clientsystems 102.

The server system 104 stores content items in the content feeds in thedatabase 110. In some embodiments, the database 110 stores both metadata(e.g., title, description, URL, date/time, and possibly other metadata)and the content of each content item. However, in some otherembodiments, the database 110 stores the metadata but not the contentfor each content item. The database 110 also stores user feedinformation 112 for a plurality of users. The user feed information fora particular user identifies content feed subscriptions, as well assources, filters, and read states for that particular user. That is,user feed information associated with a user identifies the contentfeeds to which the user has subscribed, any filters the user has definedfor the feeds, any labels the user has associated with individual feeditems, and an indication of whether each feed item has been marked as“read” by the user.

It should be appreciated that the server system 104, including theserver 108 and the database 110, may be implemented as a distributedsystem of multiple computers. However, for convenience of explanation,the server system 104 is described below as being implemented on asingle computer, which can be considered a single logical system.

A content feed (or channel) is a resource or service that provides alist of content items that are present, recently added, or recentlyupdated at a feed source 120. A content item in a content feed mayinclude the content associated with the item itself (the actual contentthat the content item specifies), a title and/or a description of thecontent, a locator (e.g., URL) of the content, or any combinationthereof. For example, if the content item identifies a text article, thecontent item may include the article itself inline, along with the titleand locator. Alternatively, a content item may include the title,description and locator, but not the article content. Thus, some contentitems may include the content associated with those items, while otherscontain links to the associated content but not the full content of theitems. A content item may also include additional metadata that providesadditional information about the content. The full version of thecontent may be any machine-readable data, including but not limited toweb pages, images, digital audio, digital video, Portable DocumentFormat (PDF) documents, and so forth. Further details regarding contentitems are described below, in relation to FIG. 2.

In some embodiments, a content feed is specified using a contentsyndication format, such as RSS. RSS is an acronym that stands for “richsite summary,” “RDF site summary,” or “Really Simple Syndication.” RSSmay refer to any of a family of formats based on the Extensible MarkupLanguage (XML) for specifying a content feed and content items includedin the feed. In some other embodiments, other content syndicationformats, such as the Atom syndication format or the VCALENDAR calendarformat, may be used to specify content feeds.

Further information regarding the RSS syndication format known as“Really Simple Syndication” is disclosed in the RSS 2.0 Specification byD. Winer, which is hereby incorporated by reference herein in itsentirety. M. Nottingham et al. disclose further information regardingthe Atom syndication format in The Atom Syndication Format, which ishereby incorporated by reference herein in its entirety.

A user interfaces with the server system 104 and views content items ata client system or device 102 (hereinafter called the client system forease of reference). The client system 102 includes a computer 118 orcomputer controlled device, such as a person digital assistant, cellulartelephone or the like (hereinafter called the client system for ease ofreference). The computer 118 typically includes one or more processors(not shown); memory, which may include volatile memory (not shown) andnon-volatile memory such as a hard disk drive 119; and a display 114.The computer 118 may also have input devices such as a keyboard and amouse (not shown).

In some embodiments, a user may interact with the server system 104 viaa feed reader user interface 116 that may be presented on the display114. The user may create a list of feed subscriptions via the feedreader user interface 116. In some embodiments, using the feed readeruser interface 116, the user may also create filters or labels to beapplied to content feeds and/or content items, and modify the readstates of content feeds and/or content items. The feed reader userinterface transmits a list of content feed subscriptions, ormodifications to a list of content feed subscriptions, to the serversystem 104 for storage at the database 110. The feed reader userinterface 116 presents content items stored at the database 110 to theuser based on the user's list of content feed subscriptions. That is,feed reader user interface 116 presents to the user content itemsspecified in the content feeds to which the user has subscribed. A usermay view the full version of the content of a content item in the feedreader user interface 116 by selecting it (e.g., by clicking on it witha mouse pointer). In some embodiments, a copy of the user's list ofcontent feed subscriptions and copies of the presented content items maybe cached locally at the client system 102.

In some embodiments, the feed reader user interface 116 may be aweb-based user interface. That is, the feed reader user interface 116displays one or more web pages in one or more browser (e.g., webbrowser) windows. The web pages may be written in the Hypertext MarkupLanguage (HTML), Extensible Markup Language (XML), or any other suitablelanguage for preparing web pages, and may include one or more scriptsfor interfacing with the server system 104. The user may subscribe tocontent feeds, view content items, and otherwise interact with theserver system 104 by interacting with the web pages of the feed readeruser interface 116. In other words, the server system 104, and the webpages transmitted by the server system 104 to the feed reader userinterface 116, provides a web-based content aggregation service. Theserver system 104 aggregates and stores content items in accordance withthe user's content feed subscriptions. In some embodiments, the serversystem 104 also can apply filters or labels, or change the read statesof content items in accordance with user actions or instructions. Whenthe user accesses the feed reader user interface 116, content items towhich the user has subscribed are presented to the user via the feedreader user interface 116.

In some other embodiments, the feed reader user interface 116 may be apart of a standalone application that is run on the client system 102.The standalone application may interface with the servers system 104 viaan application programming interface (API).

FIG. 2 is a diagram illustrating a data structure of a content item andits corresponding metadata in accordance with some embodiments. Acontent feed may include one or more content items. Each content item,in turn, includes information about the full version of the content andpossibly the full version itself. The information may be contained inone or more fields. A content item 200 may include a title 202 of thecontent item. A location 204 of the content item identifies a locationof the full version of the content. In some embodiments, the location204 is the Uniform Resource Locator (URL) of the full version of thecontent. In some other embodiments, other forms of location identifiersor addresses may be used to identify the location of the full version ofthe content.

A content field 206 may include a synopsis or description of the fullversion of the content, an excerpt from the content, or the full versionitself. The full version of the content may be any machine readabledata, such as text, graphics, digital audio, digital video, a PortableDocument Format (PDF) file, and so forth.

In some embodiments, the full version of the content may be an enclosureto the content item. In the content item data structure, the enclosuremay be specified by an enclosure location that identifies the locationof the enclosure. In some embodiments, the enclosure location is the URLof the enclosure. The data structure may also include a size field forspecifying the size of the enclosure (e.g., in number of bytes), and adata type field to identify the type of the enclosure. The data type mayidentify the data category of the enclosure, the file type of theenclosure, or both. For example, if the enclosure is a JPEG image file,the data type may specify that the enclosure is an “image”, that theenclosure is a JPEG file, or that the enclosure is an “image” of theJPEG file type. In some embodiments, the data type may be specifiedusing the Multipurpose Internet Mail Extensions (MIME) standard, whichis well-known in the art and need not be further described.

The content item 200 may include one or more metadata fields 208. Forexample, the content item may include a source identifier 210 toidentify the source content feed of the content item, an author name oridentifier 212 to identify the author of the particular content item,and a publication date 214 to identify the date on which the contentitem was published.

It should be appreciated that the data structure for the content item200 and the described fields are merely exemplary. A content item mayinclude a subset of the fields identified above, may include additionalfields, and may take on alternative formats.

Attention is now directed to FIG. 3, which is a flow diagramillustrating a process for displaying a gallery of content items inaccordance with some embodiments. While the process flow 300 describedbelow includes a number of steps or operations that appear to occur in aspecific order, it should be apparent that these processes can includemore or fewer steps or operations. Some of the operations that aredescribed here as being executed serially may be performed in parallel(e.g., using parallel processors or a multi-threading environment).Furthermore, in some embodiments, some of the operations (e.g.,operations 302-304) may be performed multiple times before a followingoperation (e.g., operation 306) is performed.

A plurality of content items is received (302). The received contentitems are specified in content feeds to which the user has subscribed.In some embodiments, the content items are provided by the server system104 (FIG. 1) to the client system 102 (FIG. 1).

Identifying information associated with the received content items aredisplayed (304). In some embodiments, the identifying information isdisplayed as a list of content items in the feed reader user interface116 (FIG. 1). In some embodiments, the feed reader user interface 116may have a finite display area. In such circumstances, identifyinginformation for a subset of the received content items may be in view ata given time. The user may scroll through the list to view identifyinginformation associated with other received content items. The list maydisplay all or a subset of the content item fields. For example, thedisplayed identifying information may include the titles and the sourcecontent feeds of the content items. In some embodiments, the identifyinginformation that is displayed (that is, the fields that are displayed)may be configured by the user.

In some embodiments, the list includes content items from all subscribedfeeds. This may be referred to as the “universal” view, or aninterleaved list. That is, content items from the subscribed contentfeeds are all displayed in the same list and not separated by source. Insome embodiments, the list may be sorted by the publication date andtime of the content item, for example in reverse chronological order. Insome other embodiments, the user may toggle an option to display auniversal view, to display the items ordered by source, author, or someother field, or to display only content items from a particular source,by a particular author, or the like.

The user selects a content item from the list (306). The user may selecta content item by clicking on the content item with a mouse pointer orby using keyboard commands.

In response to the selection, other content items in the list satisfyingpredefined criteria with respect to the selected content item areidentified (308). In some embodiments, other content items that are thesame as the selected content item with respect to a set of predefinedcharacteristics are identified. Thus, the predefined criteria mayrequire content items to match one or more characteristics of theselected content items. That is, additional content items are identifiedbased on matches to a particular set of characteristics of the selecteditem. For example, additional content items having the same data typeand source content feed as the selected item are identified. In someembodiments, the characteristics that serve as criteria for identifyingadditional content items may be configured in advance by the user.

In some embodiments, an exemplary characteristic for identifyingadditional content items is the data type of the full version of thecontent of a content item. When the user selects a content item and thecontent item includes content such as an image, digital audio, ordigital video, additional content items also having an image, digitalaudio, or digital video are identified, respectively. In someembodiments, the identification may be based on the data category, suchas whether the object is an image, digital audio, etc. The data categorymay be explicitly specified by the content item or inferred from thefile type of the content. For example, if the content item includes anMPEG digital video, other content items that includes a file of any filetype recognized as digital video (such as QUICKTIME, WINDOWS MEDIA,REALVIDEO, etc.) may be identified. In some other embodiments, theidentification may be based on the specific file type, rather than datacategories. For example, if the content item includes a JPEG image,other content items including a JPEG image, but not images of other filetypes such as GIF or TIFF images, may be identified.

Another exemplary characteristic for identifying additional contentitems is that the additional content items follow the same format as theselected content item, in that if the selected content item includes atitle 202 (FIG. 2) and a location 204 (FIG. 2) but no content 206 (FIG.2), then the additional content items must also each have a title and alocation but no content. This criterion may be helpful in identifyingcontent items that include headlines (in the title) and links to thearticles having the headlines.

It should be appreciated that data type and format are merely exemplarycharacteristics on which other content items may be identified. Othercharacteristics, including but not limited to source, author, and/orpublication date (or a publication date range), may be used asidentification criteria. Furthermore, any combination of thecharacteristics may be used as the identification criteria. For example,the identification criteria may be that the additional content itemsmust have the same data type and the same source as the selected contentitem.

Information corresponding to the selected content item and theidentified additional content items are presented to the user (310). Theinformation is displayed in a “gallery” view. The gallery view includesa collection of information for each of the selected and additionalcontent items (or at least a subset of the selected and additionalcontent items, due to finite display regions). The gallery view providesa preview of the selected and additional content items. The gallery viewgives the user an at-a-glance look of the selected and additionalcontent items. From the gallery view, the user may select a content itemfor viewing.

In some embodiments, the information that is displayed in the gallerymay depend at least in part on the identification criteria. For example,if the identification criteria include having the same data type, thenthe information that is displayed may be information that is related tothe data type of the selected and additional content items. Furtherinformation regarding the gallery view and the information that isdisplayed in the gallery view is described below, in relation to FIGS.6-10.

FIG. 4 is a block diagram illustrating a client computer in accordancewith some embodiments. The client computer 400 typically includes one ormore processing units (CPU's) 402, one or more network or othercommunications interfaces 406, memory 404, and one or more communicationbuses 414 for interconnecting these components. The client computer 400may also include a user interface 408 comprising a display device 410and a keyboard and/or mouse (or some other pointing device) 412. Memory404 includes high-speed random access memory, such as DRAM, SRAM, DDRRAM or other random access solid state memory devices; and may includenon-volatile memory, such as one or more magnetic disk storage devices,optical disk storage devices, flash memory devices, or othernon-volatile solid state storage devices. Memory 404 may optionallyinclude one or more storage devices remotely located from the CPU(s)402. Memory 404, or alternately one or more non-volatile solid statestorage devices within memory 404, includes a computer readable storagemedium. In some embodiments, memory 404 stores the following programs,modules and data structures, or a subset thereof:

-   -   an operating system 416 that includes procedures for handling        various basic system services and for performing hardware        dependent tasks;    -   a network communication module 418 that is used for connecting        the client system 400 to other computers via the one or more        communication network interfaces 406 and one or more        communication networks, such as the Internet, other wide area        networks, local area networks, metropolitan area networks, and        so on; and    -   a feed reader module 420 for handling content items from content        feeds; and    -   a client application 430, such as a web browser.

The feed reader module 420 includes a content item identification module422 that identifies additional content items satisfying predefinedcriteria with respect to a user-selected content item. The feed readermodule 420 also includes a gallery module 424 for presenting informationcorresponding to the selected and additional content items in a galleryview.

In some embodiments, the feed reader module 420 may be a script-basedmodule, embedded in a web page served from the server system 104 (FIG.1). The web page may be rendered by a client application 430, such as aweb browser, at the client computer 400. When the web page is rendered,the feed reader module 420 is executed, thereby providing a web-basedinterface to the server system 104. The script-based feed reader modulemay be written in JavaScript, ECMAScript or any other suitable scriptinglanguage.

In some other embodiments, the feed reader module 420 may be astandalone application stored in memory 404 of the client computer 400.The standalone application may include, but is not limited to a feedaggregator application. In further other embodiments, the feed readermodule 420 may be an add-on or a plug-in to another application. For,example, the feed reader module 420 may be a plug-in to an emailapplication.

In some embodiments, received content items may be cached locally inmemory 404. Similarly, a user's list of content feed subscriptions mayalso be cached locally in memory 404.

Each of the above identified elements may be stored in one or more ofthe previously mentioned memory devices. Each of the above identifiedmodules corresponds to a set of instructions for performing a functiondescribed above. The above identified modules or programs (i.e., sets ofinstructions) need not be implemented as separate software programs,procedures or modules, and thus various subsets of these modules may becombined or otherwise re-arranged in various embodiments. In someembodiments, memory 404 may store a subset of the modules and datastructures identified above. Furthermore, memory 404 may storeadditional modules and data structures not described above.

FIG. 5 is a block diagram illustrating a server computer in accordancewith some embodiments. The server computer 500 typically includes one ormore processing units (CPU's) 502, one or more network or othercommunications interfaces 506, memory 504, and one or more communicationbuses 510 for interconnecting these components. The server system 500optionally may include a user interface 508, which may include a displaydevice (not shown), and a keyboard and/or a mouse (not shown). Memory504 includes high-speed random access memory, such as DRAM, SRAM, DDRRAM or other random access solid state memory devices; and may includenon-volatile memory, such as one or more magnetic disk storage devices,optical disk storage devices, flash memory devices, or othernon-volatile solid state storage devices. Memory 504 may optionallyinclude one or more storage devices remotely located from the CPU(s)502. Memory 504, or alternately one or more non-volatile solid statestorage devices within memory 504, includes a computer readable storagemedium. In some embodiments, memory 504 stores the following programs,modules and data structures, or a subset thereof:

-   -   an operating system 512 that includes procedures for handling        various basic system services and for performing hardware        dependent tasks;    -   a network communication module 514 that is used for connecting        the server system 500 to other computers via the one or more        communication network interfaces 506 and one or more        communication networks, such as the Internet, other wide area        networks, local area networks, metropolitan area networks, and        so on;    -   a feed tracker module 516 for retrieving content items for        storage periodically and/or as content feeds are updated;    -   user data 518, which includes data for each user of the service;        and    -   content items 520, which include retrieved content items from        content feeds to which users of the service have subscribed.

The user data 518 stores data for users of the service, such as logininformation and user preferences. The user data 518 includessubscription lists 519, which include lists of users' feedsubscriptions. Each user has a corresponding list of content feedsubscriptions. In some embodiments, the server computer 500 may furtherstore feed subscription information in one or more tables (both notshown). The feed subscription information tables store informationassociated with content feeds, such as the locations of the feeds (e.g.,the feeds′ URLs) and per-user subscription information with respect toindividual content feeds.

Each of the above identified elements may be stored in one or more ofthe previously mentioned memory devices, and corresponds to a set ofinstructions for performing a function described above. The aboveidentified modules or programs (i.e., sets of instructions) need not beimplemented as separate software programs, procedures or modules, andthus various subsets of these modules may be combined or otherwisere-arranged in various embodiments. In some embodiments, memory 504 maystore a subset of the modules and data structures identified above.Furthermore, memory 504 may store additional modules and data structuresnot described above.

Although FIG. 5 shows a “server computer,” FIG. 5 is intended more asfunctional description of the various features which may be present in aset of servers than as a structural schematic of the embodimentsdescribed herein. In practice, and as recognized by those of ordinaryskill in the art, items shown separately could be combined and someitems could be separated. For example, some items shown separately inFIG. 5 could be implemented on single servers and single items could beimplemented by one or more servers.

FIG. 6 illustrates a feed reader user interface with a “universal view”in accordance with some embodiments. The user, via the feed reader userinterface 116, may view, among other things, content items from hersubscribed content feeds. The feed reader user interface 116(hereinafter the “UI”) includes one or more buttons, menus, links, andthe like 610 for activating and deactivating various functions andfeatures.

The user may view the content items in a universal view. The universalview includes a list 602 of content items from all of the user'ssubscribed feeds. The content items 604 shown in the list areinterleaved without regard to source. In some embodiments, the list issorted by publication date and time, for example in reversechronological order. Also, in some embodiments, the list may show onlycontent items that the user has not viewed. The list presentsidentifying information for the content items, so that the user canidentify a content item she wishes to view and select it. Because the UI116 may have a finite size and the list may include more items than canfit into the UI, the UI 116 may display a subset of the content items ata given time and the user may scroll through the list to find othercontent items. The list may also include an indicator 606 of how manycontent items are in the list in total. Alternatively, the indicator 606may indicate the number of content items yet to be viewed.

From the list, the user may select a content item. When the user selectsan item from the list in the universal view, the UI 116 may display thefull version of the content in a viewer region 608. For example, if theselected content item (indicated by a box with a thick border) includesa link to an article at a news web site or a link to a blog posting, thearticle or the blog posting, respectively, may be displayed in theviewer region 608.

In the UI 116, a gallery feature may be enabled. When the feature isenabled and a content item is selected from the list 602, instead ofdisplaying the full version of the content in the viewer region 608, agallery view of information corresponding to the selected content item605, FIG. 7, and additional content items may be displayed in the viewerregion 608.

When the selected content item includes an image, the information thatis displayed in the gallery view includes thumbnails of the selectedcontent item and additional content items that also include images, asillustrated in FIG. 7. In some embodiments, the additional content itemsare all from the same content feed as the selected item. In otherembodiments, the additional content items may include content items fromthe same content feed as the selected item as well as content items fromdifferent content feeds. For each of the selected content item andadditional content items, the gallery view presents a thumbnail 702 andinformation 704 corresponding to the image, such as a name of the image(which may be derived from the title of the content item or the filename) and a size (which may be the size of the image file or thedimensions of the image in pixels). The user may select one of thethumbnails in the viewer region 608 to open the image in the viewingregion or in a new window.

When the selected content item (e.g., content item 607 in FIG. 8)includes digital video or digital audio, the information that isdisplayed in the gallery view includes a playlist of the video or audioclips, respectively, of the selected content item and additional contentitems, as illustrated in FIG. 8. As in the example discussed above withrespect to FIG. 7, in some embodiments the additional content items areall from the same content feed as the selected item, while in otherembodiments the additional content items may include content items fromthe same content feed as the selected item as well as content items fromdifferent content feeds. In some embodiments, for each of the selectedcontent item and additional content items, the gallery view presents atitle of the clip 802 (which may be derived from the title of thecontent item, the file name of the clip, or metadata embedded in theclip) and a running time 804 of the clip. The user may select one of theclips in the viewer region 608 to access the clip and playback controlsfor the clip.

In some embodiments, the gallery view may display informationcorresponding to a selected content item and additional, identifiedcontent items, when the selected content item and the identified contentitems include a title and link to the full version of the content but nocontent itself, as illustrated in FIG. 9. That is, the identificationcriterion is that if the selected content item 609 includes a title andlocation but no actual content, then additional content items thatfollow the same pattern of having a title and a location but no actualcontent are identified. The viewer region 608 shows the title of each ofthe selected and additional content items as a headline 902 of thecontent item and, optionally, a date 904 of each content item. In otherembodiments, the gallery of content items may be displayed in a numberof different ways, for example using a grid instead of a list. The usermay select one of the content items in the viewer region 608 to accessthe full version of the content to which the content item links.

In some embodiments, additional content items from the same sourcecontent feed as the selected content item 611 may be displayed in thegallery view, as shown in FIG. 10. Titles 1002 and dates 1004 of theselected and additional content items may be displayed in the viewerregion 608. The user may select one of the content items in the viewerregion 608 to access the content item.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the invention and its practical applications, to therebyenable others skilled in the art to best utilize the invention andvarious embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. A computer-implemented method of presentingcontent, comprising: receiving, by a client system distinct from aserver system, a plurality of feed content items from the server system;presenting, by the client system, a list of feed content items receivedfrom the server system, including displaying identifying informationassociated with at least a subset of the feed content items in the listat a given time; in response to user selection of a respective feedcontent item in the list of feed content items, identifying, by theclient system, one or more additional feed content items in the list offeed content items, the one or more additional feed content items havinga same content type as the selected feed content item; and presenting,by the client system, previews of the selected and additional feedcontent items.
 2. A computer-implemented method of presenting content,comprising: receiving, by a client system distinct from a server system,a plurality of content items from the server system; presenting, by theclient system, a list of content items received from the server system,including displaying identifying information associated with at least asubset of the content items in the list at a given time; in response touser selection of a respective content item in the list of contentitems, identifying, by the client system, one or more additional contentitems in the list of content items, the one or more additional contentitems satisfying predefined criteria with respect to the selectedcontent item; and presenting, by the client system, previews of theselected and additional content items.
 3. The method of claim 2, whereinidentifying the additional content items comprises identifyingadditional content items in the list of content items having a samecontent type as the selected content item.
 4. The method of claim 3,wherein the same content type comprises an image content type; andpresenting the previews of the selected and additional content itemscomprises presenting thumbnail images of the selected and additionalcontent items.
 5. The method of claim 3, wherein the same content typecomprises one of the group consisting of: an audio content type and avideo data type; and presenting the previews of the selected andadditional content items comprises presenting a playlist of the selectedand additional content items.
 6. The method of claim 2, whereinpresenting the list of content items comprises presenting an interleavedlist of content items from multiple sources; and identifying theadditional content items comprises identifying additional content itemsin the list of content items having a same source as the selectedcontent item.
 7. The method of claim 2, wherein identifying theadditional content items comprises identifying additional content itemsin the list of content items having a same content type and a samesource as the selected content item.
 8. The method of claim 2, whereinthe list of content items comprises feed content items.
 9. A system forpresenting content, comprising: memory; one or more processors; andinstructions, stored in the memory and configured for execution by theone or more processors, that, when executed by the one or moreprocessors, cause the system: to present a list of content itemsreceived from an external server system, including instructions todisplay identifying information associated with at least a subset of thecontent items in the list at a given time; in response to user selectionof a content item in the list of content items, to identify one or moreadditional content items in the list of content items, the one or moreadditional content items satisfying predefined criteria with respect tothe selected content item; and to present previews of the selected andadditional content items.
 10. The system of claim 9, wherein the list ofcontent items comprises feed content items.
 11. A non-transitorycomputer readable storage medium having stored therein instructions,which when executed by a client computer system distinct from a serversystem, cause the client computer system to: present a list of contentitems received from the server system, including displaying identifyinginformation associated with at least a subset of the content items inthe list at a given time; in response to user selection of a respectivecontent item in the list of content items, identify one or moreadditional content items in the list of content items, the one or moreadditional content items satisfying predefined criteria with respect tothe selected content item; and present previews of the selected andadditional content items.
 12. The non-transitory computer readablestorage medium of claim 11, wherein the instructions for identifying theadditional content items comprise instructions for identifyingadditional content items in the list of content items having a samecontent type as the selected content item.
 13. The non-transitorycomputer readable storage medium of claim 12 wherein the same contenttype comprises an image content type; and the instructions forpresenting the previews of the selected and additional content itemscomprise instructions for presenting thumbnail images of the selectedand additional content items.
 14. The non-transitory computer readablestorage medium of claim 12, wherein the same content type comprises oneof the group consisting of: an audio content type and a video data type;and the instructions for presenting the previews of the selected andadditional content items comprise instructions for presenting a playlistof the selected and additional content items.
 15. The non-transitorycomputer readable storage medium of claim 11, wherein: the instructionsfor presenting the list of content items comprise instructions forpresenting an interleaved list of content items from multiple sources;the instructions for identifying the additional content items compriseinstructions for identifying additional content items in the list ofcontent items having a same source as the selected content item.
 16. Thenon-transitory computer readable storage medium of claim 11, wherein theinstructions for identifying the additional content items compriseinstructions for identifying additional content items in the list ofcontent items having a same content type and a same source as theselected content item.
 17. The non-transitory computer readable storagemedium of claim 11, wherein the list of content items comprises contentitems from one or more feed sources.
 18. A non-transitory computerreadable storage medium having stored therein instructions, which whenexecuted by a client computer system distinct from a server system,cause the client computer system to: present a list of feed contentitems received from the server system, including displaying identifyinginformation associated with at least a subset of the feed content itemsin the list at a given time; in response to user selection of arespective feed content item in the list of feed content items, identifyone or more additional feed content items in the list of feed contentitems, the one or more additional feed content items having a samecontent type as the selected feed content item; and present previews ofthe selected and additional feed content items.